package com.gaogzhen.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gaogzhen.domain.Config;
import com.baomidou.mybatisplus.extension.service.IService;

import java.util.Map;

public interface ConfigService extends IService<Config>{


    /**
     * 分页查询配置参数
     * @param page  分页参数
     * @param type  参数类型
     * @param code  参数代码
     * @param name  参数名称
     * @return
     */
    Page<Config> findByPage(Page<Config> page, String type, String code, String name);

    /**
     * 新增配置参数
     * @param config    配置参数
     */
    void add(Config config);

    /**
     * 修改配置参数
     * @param config    配置参数
     */
    void updateConfig(Config config);

    /**
     * 通过规则code获取参数
     * @param code      规则code
     * @return          参数对象
     */
    Config getByCode(String code);

    /**
     * 通过规则code获取参数
     * @param code      规则code
     * @return          map: key为code,value为code对应的config
     */
    Map<String, Config> getByCodes(String ...code);
}
